"""读取excel时间，做时间转化"""
import xlrd
import sys
import os
import django
from datetime import datetime

base_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(base_dir)
os.environ.setdefault("DJANGO_SETTINGS_MODULE","bigSDP.settings")
django.setup()
from chit import models

class ReadExcel(object):
    """读取excel时间数据，做转化"""

    def __init__(self, data_path, sheetname):
        """
        初始化方法

        Args:
            data_path (str): 文件路径
            sheetname (str): 工作表名称

        Returns:
            None

        """
        # 定义一个属性接收文件路径
        self.data_path = data_path
        # 定义一个属性接收工作表名称
        self.sheetname = sheetname
        # 使用xlrd模块打开excel表读取数据
        self.data = xlrd.open_workbook(self.data_path)
        # 根据工作表的名称获取工作表中的内容
        self.table = self.data.sheet_by_name(self.sheetname)
        # 获取工作表的有效行数
        self.rowNum = self.table.nrows

    def readExcel(self, type):
        """
        从Excel文件中读取信息

        Args:
            无参数，函数内部没有使用任何参数。

        Returns:
            无返回值，仅执行操作。
        """
        for i in range(1, self.rowNum):
            # 获取单元格数据
            cmd = self.table.cell_value(i, 3)
            source = self.table.cell_value(i, 5)
            page = self.table.cell_value(i, 6)
            if '\n' in cmd:
                cmd_del_empty_line = cmd.split('\n')
                cmd = ''.join(cmd_del_empty_line)
            print(cmd)
            is_exist = models.ChitCaseList.objects.filter(cmd=cmd).exists()
            if not is_exist:
                """
                type_choice = (
                    (0, '向量库'),
                    (1, '政策法规'),
                    (2, '白皮书'),
                )
                """
                instance = models.ChitCaseList.objects.create(cmd=cmd, source=source, page=page, type=type)


if __name__ == '__main__':
    if len(sys.argv) != 2:
        print("请输入闲聊指令类型 \n"
              "(0, '向量库')\n"
              "(1, '政策法规')\n"
              "(2, '白皮书')")
    else:
        type = sys.argv[1]
        datapath = 'D:\\workspace\\temp\case\\大屏数字人指令集-闲聊.xlsx'
        sheetname = '旧政策'
        obj = ReadExcel(datapath, sheetname)
        obj.readExcel(type)
